// 云对象教程: https://uniapp.dcloud.net.cn/uniCloud/cloud-obj
// jsdoc语法提示教程：https://ask.dcloud.net.cn/docs/#//ask.dcloud.net.cn/article/129
const {
	astro
} = require("iztro");
module.exports = {
	_before: function() { // 通用预处理器

	},
	init(params) {
		// 参数校验，如无参数则不需要
		if (!params) {
			return {
				errCode: 'PARAM_IS_NULL',
				errMsg: '参数不能为空'
			}
		}
		let {
			birthday,
			sex,
			timeIndex,
			type
		} = params
		// 业务逻辑
		console.log('params', params);
		let person = {}
		if (type) { // 阴历
			person = astro.byLunar(birthday, timeIndex, sex, false, true, "zh-CN");
		} else { // 阳历
			person = astro.bySolar(birthday, timeIndex, sex);
		}

		let {
			body, // 身主
			chineseDate, // 四柱
			solarDate, // 出生日期，阳历
			earthlyBranchOfBodyPalace, // 命宫地支
			earthlyBranchOfSoulPalace, // 身宫地支
			fiveElementsClass, // 五行局
			gender, // 性别
			lunarDate, // 农历日期
			palaces, // 十二宫数据
			sign, // 星座
			soul, // 命主
			time, // 时辰
			timeRange, // 时辰对应的时间段
			zodiac, // 生肖
		} = person
		let pStr = '';
		palaces.forEach((p, index) => {
			let {
				majorStars, // 主星
				minorStars, // 辅星
				adjectiveStars, // 杂耀
				boshi12, // 博士12神
				changsheng12, // 长生12神
				jiangqian12, // 流年将前12神
				suiqian12, // 流年岁前12神
				ages, // 小限
				earthlyBranch, // 宫位地支
				heavenlyStem, // 宫位天干
				isBodyPalace, // 是否身宫
				isOriginalPalace, // 是否来因宫

			} = p

			let str =
				`${index + 1}.${p.name}：
				主星：${majorStars.map(t => t.name).join('') || '无'}；
				辅星：${minorStars.map(t => t.name).join('') || '无'}；
				杂耀：${adjectiveStars.map(t => t.name).join('') || '无'}；
				博士12神：${boshi12 || '无'}；
				长生12神：${changsheng12 || '无'}；
				流年将前12神：${jiangqian12 || '无'}；
				流年岁前12神：${suiqian12 || '无'}；
				小限：${ages.join('，') || '无'}；
				宫位地支：${earthlyBranch}；
				宫位天干：${heavenlyStem}；
				是否身宫：${isBodyPalace ? '是' : '否'}；
				是否来因宫：${isOriginalPalace ? '是' : '否'}；
				\n`
			pStr = pStr + str
		})
		let prompt = `
			你是一名精通紫微斗数的命理师，回忆并使用包括但不限于《紫微斗数全书》、《中州派紫微斗数讲义》、《天纪》、《紫微斗数全集》、《斗数秘钞》、《紫微斗数捷览》、《紫微斗数新诠》、《紫微斗数精成》-了无居士、《紫微斗数讲义》-陆兆斌、《紫微斗数断事秘诀》-王亭之、《紫微斗数论命详批》-潘子渔、《斗数赋文精析》-法云居士、《紫微斗数命理研究》-梁湘润、《正统飞星紫微斗数》-陈岳琦、《河洛派紫微斗数》-方外人、《四化派紫微斗数》-蔡明宏、《紫微一得》-徐静观、《紫微明镜》-陈雪涛、《紫微斗数推命术》-张清渊、《紫微斗数现代应用》-徐诠仁、《紫微斗数心得》-楚皇、《紫微斗数开运全集》-诸葛绫、《紫微斗数命盘解说》-观云主人、《紫微斗数星耀性质研究》-钟义明、《紫微斗数词典》-张云开、等书籍内容和知识，结合飞星，三合等知识，根据下面我给出的信息，分析命主的各个宫位以及运势，注意有几点要求务必做到：1. 所有的论断，均应由已有的书籍内容，总结知识得到，不可自己编造。2. 命盘和星耀，按照提供的数据，不可以自行排盘。3. 列举的出处，务必准确，并尽可能的给出页码，不知道页码可以说“具体内容位置不详”。
	命主信息如下：
			身主：${body}；
			四柱：${chineseDate}；
			阳历出生日期：${solarDate}；
			命宫地支：${earthlyBranchOfBodyPalace}；
			身宫地支：${earthlyBranchOfSoulPalace}；
			五行局：${fiveElementsClass}；
			性别：${gender}；
			农历出生日期：${lunarDate}；
			星座：${sign}；
			命主：${soul}；
			时辰：${time}；
			时辰对应的时间段：${timeRange}；
			生肖：${zodiac}；
			十二宫数据：
			${pStr}；
		`
		console.log('prompt  -> ', prompt)

		// 返回结果
		return {
			data: prompt, //请根据实际需要返回值
			msg: 0
		}
	}
}